package org.xxf.tdengine.demo.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

/**
 * 设备表[后面数据量大可分为2个表来存储数据,function后的分离]实体类
 *
 * @author hxq
 * @since 2020-12-09
 */
@Data
@TableName("machine_device")
public class Device {

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    /**
     * 所属组织-v1.10.0
     */
    private Long orgId;
    /**
     * 所属区域ID -v1.10.0
     */
    private Long belongArea;
    /**
     * 设备名[机号]
     */
    private String deviceName;
    /**
     * 产品key
     */
    private String productKey;
    /**
     * 产品名称
     */
    private String productName;

    //status 设备状态（0:未激活、1:在线、-1: 离线）

    /**
     * 经度
     */
    private Double longitude;
    /**
     * 维度
     */
    private Double latitude;
    /**
     * 设备登录名
     */
    private String userName;
    /**
     * 设备登录密码
     */
    private String userPassword;
    /**
     * 配置{"type":"1","protocol":"MQTT","ip":"0.0.0.0","port":"1883"} type:1 MQTT、type:2 TCP
     */
    private String configuration;
    /**
     * 描述
     */
    private String description;
    /**
     * 是否校时 默认不校时
     */
    private Boolean isTime;
    /**
     * 物联IP
     */
    @JsonIgnore
    private String ip;

    /**
     * 物联端口
     */
    private String port;
//
    /**
     * 协议类型
     */
    private String protocol;

    /**
     * 固件信息 如版本号、型号 json格式 激活后获取
     */
    @JsonIgnore
    private String os;

    private Double lastAdjValue;

    private Double lastSVol;

    private Double lastWVol;

    private Double lastUsedMomery;

    private Double lastFreeMomery;

    /**
     * 经度
     */
    private Double longitudeGd;
    /**
     * 维度
     */
    private Double latitudeGd;

    /**
     * 经度
     */
    private Double longitudeBd;
    /**
     * 维度
     */
    private Double latitudeBd;


    private Integer warmingStatus;

    /**
     * 声源模型类别编码ID
     */
    private Long algorithmCodeId;

    /**
     * 算法类型 0 平台模型算法 1 声源分析仪算法
     */
    private Integer algorithmType;

    /**
     * mn号
     */
    private String mnNum;

    /**
     * 组织层级ID -v1.12.0
     */
    private Long hierarchyId;

}